﻿
  rule(instantiate,["take_plan planner *X",
                    "take_plan object *Y"],
                   "",
                   ["grasp actor *X",
                    "grasp object *Y"],"").
  rule(planfor,["goal planner *X",
                "goal objective",
                "poss actor *X",
                "poss object *Y"],
               "",
               ["take_plan planner *X",
                "take_plan object *Y"],"").
  rule(planfor,["goal planner *X",
                "goal objective",
                "know actor *X",
                "know fact",
                "is actor restaurant",
                "is prox *Z"],
               "",
               ["read_plan planner *X",
                "read_plan object *Y"], /*Y is W in the book */
               "isa restaurant_guide *Y"). /*same as above   */
  rule(planfor,["goal planner *X",
                "goal objective",
                "is actor *X",
                "is state hunger 0"],
               "",
               ["do_restaurant_plan planner *X",
                "do_restaurant_plan restaurant *Y"],"").
				
  rule(subgoal,["read_plan planner *X",
                "read_plan object *Y"],
                "",
               ["goal planner *X",
                "goal objective",
                "poss actor *X",
                "poss object *Y"],
                "isa book *Y").
  rule(subgoal,["goal planner *X",
                "goal objective",
                "prox actor *X",
                "prox location *Y"],
                "",
               ["goal planner *X",
                "goal objective",
                "know actor *X",
                "know fact",
                "is actor *Y",
                "is prox *Z"],"").
  rule(subgoal,["do_restaurant_plan planner *X",
                "do_restaurant_plan restaurant *Y"],
                "",
               ["goal planner *X",
                "goal objective",
                "prox actor *X",
                "prox location *Y"],
                "isa restaurant *Y").
  rule(initiate,["is actor *X",
                 "is state hunger *N"],
                 "pos_val *N",
                ["goal planner *X",
                 "goal objective",
                 "is actor *X",
                 "is state 0"],"").
  isa(ptranss,action).
  isa(grasp,action).
  isa(take_plan,plan).
  isa(read_plan,plan).
  isa(do_restaurant_plan,plan).
  isa(walk_plan,plan).
  isa(use_vehicle_plan,plan).
  isa(is,theme).
  isa("goal","goal").
